% Tipo de documento
\documentclass[16pt,spanish]{article}

% Ruta a la plantilla
\def \plpath{.}

% Paquetes
\input{\plpath/include/packages.tex}

%  Datos del documento a Editar %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% TÃ­tulo del documento
\def \titlename{Introducción al Desarrollo de Videojuegos con un Pong} 

\def \subtitulo{Instalación de SDL en Linux y en Windows}

% Autores separados por \and
\def \authorname{David Saltares Márquez}

% VersiÃ³n de la revisiÃ³n (En blanco para documentos nuevos)
\def \revname{\ }

% Fecha (En blanco para la fecha de hoy)
\def \datename{}

% ConfiguraciÃ³n  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\title{\titlename}
\author{\authorname}
%\date{\datename}

% Cabecera y pie del documento
\pagestyle{fancy}
\renewcommand{\headrulewidth}{0.2pt}
\fancyhead[HC]{ {\footnotesize \titlename} }
\fancyhead[FR]{ {\footnotesize \thepage} }


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\begin{document}

% Portada %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\input{\plpath/include/portada.tex}

% Ãndice %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%\tableofcontents
%\cleardoublepage

% Cambios en esta RevisiÃ³n %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%\section{Cambios}

%\paragraph{}
%Cambios con respecto a versiones anteriores del documento.

%\begin{itemize}
%	\item {\bf Revision 1} 
%		\begin{itemize}
%			\item Cambio 1
%			\item Cambio 2
%		\end{itemize}
%\end{itemize}

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

\section{Introducción}
\label{sec:intro}

\paragraph{}
Si estás leyendo esto, probablemente estés interesado o inscrito
en el taller que organiza la Asociación de Desarrollo de Videojuegos
de la Universidad de Cádiz (ADVUCA), \emph{Introducción al Desarrollo
de Videojuegos con un Pong}. Esta pequeña guía te ayudará a instalar
las herramientas que necesitaremos en el taller tanto si utilizas
un sistema GNU/Linux como Windows. Esto conseguirá que el taller sea
más dinámico y entretenido. No tiene sentido que perdamos una hora
en hacer algo que puede hacer cada uno en su casa.

\paragraph{}
Por sencillez es recomendable utilizar Linux. La biblioteca SDL (necesaria
para el taller) se instala con una sóla línea de terminal en GNU/Linux.
En cambio, si utilizas Windows, deberás seguir un proceso simple pero delicado.
Si te equivocas, es muy probable que llegues al taller y no te funcione nada.

\section{Instalación de la biblioteca SDL en GNU/Linux}
\label{sec:linux}

\paragraph{}
Suponemos que tienes una distribución basada en Debian como Ubuntu o Guadalinex
por lo que dispones de \emph{apt-get}. Para instalar SDL y las herramientas
que utilizaremos en el taller, abre una terminal y ejecuta:

\begin{verbatim}
sudo apt-get install gcc make libsdl1.2-dev libsdl-image1.2-dev \
                     libsdl-ttf2.0-dev
\end{verbatim}

\paragraph{}
Fácil, ¿verdad? En sistemas no basados en Debian los paquetes no varían, simplemente habrá
que cambiar el nombre del programa para instalar paquetes. Por ejemplo:
\emph{yum}.

\section{Instalación de la biblioteca SDL en Windows}

\paragraph{}
El proceso de instalación de SDL en Windows es bastante más largo que en GNU/Linux
(quizás eso sea una señal para que cambies de sistema operativo). Primero
instalaremos un entorno de desarrollo integrado (IDE) libre llamado CodeBlocks
y más tarde procederemos con SDL. Debes saber que CodeBlocks utiliza el compilador
GCC (a través de MinGW) por lo que trabajaremos aproximadamente sobre lo mismo.

\subsection{CodeBlocks}

\begin{itemize}
	\item Acude a la sección de descargas de la página official de Code Blocks
	y selecciona la versión para Windows que incluye MinGW:
	\begin{verbatim}
	http://www.codeblocks.org/downloads/26#windows
	\end{verbatim}
	\item Ejecuta el instalador, dale los permisos oportunos y elije las opciones
	por defecto.
\end{itemize}

\subsection{SDL}

\paragraph{}
Prepárate, porque en el proceso de instalación de SDL en Windows hay que manejar
algunos ficheros y directorios delicados. Si te equivocas en alguna ruta es muy
probable que después no puedas compilar un proyecto que use SDL.

\paragraph{Nota}
Si al copiar ficheros pregunta si deseamos reemplazar, aceptamos.

\subsubsection{SDL básico}

\begin{itemize}
	\item Descarga el paquete de ejecución de SDL:
	\begin{verbatim}
	http://www.libsdl.org/release/SDL-1.2.14-win32.zip
	\end{verbatim}
	\item Descomprime el fichero \emph{SDL-1.2.14-win32.zip}.
	\item Copia el fichero \emph{SDL.dll} en la carpeta \emph{bin} de instalación
	de Mingw, probablemente en:
	\begin{verbatim}
	C:/Archivos de Programa/CodeBlocks/MinGW/bin
	\end{verbatim}
	\item Descarga el paquete de desarrollo de SDL desde:
	\begin{verbatim}
	http://www.libsdl.org/release/SDL-devel-1.2.14-mingw32.tar.gz
	\end{verbatim}
	\item Descomprime el fichero \emph{SDL-devel-1.2.14-mingw32.tar.gz}.
	\item Copia el contenido del directorio \emph{lib} en el directorio
	de Mingw. Seguramente quede:
	\begin{verbatim}
	C:/Archivos de Programa/CodeBlocks/MinGW/lib
	\end{verbatim}
	\item Copia el directorio \emph{SDL} situado dentro de \emph{include}
	a la instalación de Mingw. Debe quedar:
	\begin{verbatim}
	C:/Archivos de Programa/CodeBlocks/MinGW/include/SDL
	\end{verbatim}
\end{itemize}

\subsubsection{SDL Image}

\begin{itemize}
	\item Descarga el paquete de ejecución de SDL Image:
	\begin{verbatim}
	http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.10-win32.zip
	\end{verbatim}
	\item Descomprime el fichero \emph{SDL\_image-1.2.10-win32.zip}.
	\item Copia los ficheros \emph{.dll} en la carpeta \emph{bin} de instalación
	de Mingw, probablemente en:
	\begin{verbatim}
	C:/Archivos de Programa/CodeBlocks/MinGW/bin
	\end{verbatim}
	\item Descarga el paquete de desarrollo de SDL Image desde:
	\begin{verbatim}
	http://www.libsdl.org/projects/SDL_image/release/SDL_image-devel-1.2.10-VC.zip
	\end{verbatim}
	\item Descomprime el fichero \emph{SDL\_image-devel-1.2.10-VC.zip}.
	\item Copia el contenido del directorio \emph{lib} en el directorio
	de Mingw. Como antes, seguramente sea:
	\begin{verbatim}
	C:/Archivos de Programa/CodeBlocks/MinGW/lib
	\end{verbatim}
	\item Copia el contenido del directorio \emph{include} a la instalación de Mingw.
	Debe estar dentro del directorio \emph{SDL} de la biblioteca básica:
	\begin{verbatim}
	C:/Archivos de Programa/CodeBlocks/MinGW/include/SDL/
	\end{verbatim}
\end{itemize}

\subsubsection{SDL TTF}

\begin{itemize}
	\item Descarga el paquete de ejecución de SDL TTF:
	\begin{verbatim}
	http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.10-win32.zip
	\end{verbatim}
	\item Descomprime el fichero \emph{SDL\_ttf-2.0.10-win32.zip}.
	\item Copia los ficheros \emph{.dll} en la carpeta \emph{bin} de instalación
	de Mingw, probablemente en:
	\begin{verbatim}
	C:/Archivos de Programa/CodeBlocks/MinGW/bin
	\end{verbatim}
	\item Descarga el paquete de desarrollo de SDL Image desde:
	\begin{verbatim}
	http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-devel-2.0.10-VC.zip
	\end{verbatim}
	\item Descomprime el fichero \emph{SDL\_ttf-devel-2.0.10-VC.zip}.
	\item Copia el contenido del directorio \emph{lib} en el directorio
	de Mingw. Como antes, seguramente sea:
	\begin{verbatim}
	C:/Archivos de Programa/CodeBlocks/MinGW/lib
	\end{verbatim}
	\item Copia el contenido del directorio \emph{include} a la instalación de Mingw.
	Debe estar dentro del directorio \emph{SDL} de la biblioteca básica:
	\begin{verbatim}
	C:/Archivos de Programa/CodeBlocks/MinGW/include/SDL/
	\end{verbatim}
\end{itemize}

\end{document}
